package com.eobard.config.obfuscate;

import com.eobard.enums.RunningEnum;
import com.eobard.params.*;
import lombok.Data;
import org.springframework.context.annotation.Configuration;

/**
 * @Author: Eobard Gu
 * @Date: 2025-08-04
 * @Description: 混淆配置类
 */
@Data
@Configuration
public class ObfuscatorConfig {
    //java文件所在根路径
    private String sourceRoot;
    //java扩展源码路径
    private String sourceExt;

    //资源文件所在根路径
    private String resourceRoot;

    //混淆所属项目:默认属于java类型项目
    private RunningEnum runningStatus=RunningEnum.JAVA_PROJECT;

    //重命名类名参数配置类
    private RenameClassParams renameClassParams;

    //重命名方法名参数配置类
    private RenameMethodParams renameMethodParams;

    //修改普通方法参数的参数配置类
    private MethodArgumentParams methodArgumentParams;

    //修改接口与实现类方法参数的参数配置类
    private OverrideMethodArgumentParams overrideMethodParams;

    //重命名字段参数配置类
    private RenameFieldParams renameFieldParams;

    //修改MD5值参数配置类
    private AlterMD5Params alterMD5Params;

    //包移动参数配置类
    private PackageRemoveParams packageRemoveParams;

    //重命名安卓项目xml资源文件配置类
    private RenameResourceParams renameResourceParams;

    //随机重命名包名配置类
    private RandomRenamePackageParams randomRenamePackageParams;

    //类随机打乱混淆器配置类
    private ClassRandomShuffleParams classRandomShuffleParams;

    //Mnn转换器配置类
    private MnnConverterParams mnnConverterParams;

}
